IterableMap এবং MapUtils

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) Commons Collections এর বেসিক ক্লাস |
142
142

Apache Commons Collections লাইব্রেরি Java Collections Framework (JCF)-এর উপর ভিত্তি করে আরও উন্নত এবং কার্যকরী ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস সরবরাহ করে। IterableMap এবং MapUtils দুটি গুরুত্বপূর্ণ উপাদান যা Map সম্পর্কিত অপারেশন এবং কাস্টম ফিচার সরবরাহ করে।


১. IterableMap Interface

IterableMap হল Apache Commons Collections এর একটি ইন্টারফেস যা Map ইন্টারফেসের একটি এক্সটেনশন। এটি মূলত একটি Map যা Iterable ইন্টারফেসকে এক্সটেন্ড করে, যার মাধ্যমে আপনি একটি Map এর উপাদানগুলিকে সহজে for-each লুপের মাধ্যমে ইটারেট করতে পারেন।

IterableMap ইন্টারফেস Map এর সমস্ত কার্যকারিতা সরবরাহ করে, তবে এর মধ্যে একটি অতিরিক্ত সুবিধা হল এটি key-value pairs উপর ইটারেশন করতে সক্ষম।

IterableMap এর উদাহরণ

import org.apache.commons.collections4.MapUtils;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.collections4.map.ListOrderedMap;
import org.apache.commons.collections4.IterableMap;

import java.util.Map;

public class IterableMapExample {
    public static void main(String[] args) {
        IterableMap<String, String> iterableMap = new ListOrderedMap<>();
        iterableMap.put("apple", "fruit");
        iterableMap.put("carrot", "vegetable");
        iterableMap.put("banana", "fruit");

        // Iterating through the map using for-each loop
        for (Map.Entry<String, String> entry : iterableMap.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

এখানে:

  • IterableMap ব্যবহার করা হয়েছে, যা Map এর উপর Iterable সমর্থন প্রদান করে।
  • entrySet() মেথড ব্যবহার করে for-each লুপে Map এর সকল উপাদান ইটারেট করা হচ্ছে।

আউটপুট:

apple : fruit
carrot : vegetable
banana : fruit

এটি Map এর উপাদানগুলির উপর সহজে ইটারেট করার জন্য একটি সহজ পদ্ধতি সরবরাহ করে, এবং IterableMap এর মাধ্যমে আপনি Mapkey-value pairs উপর for-each লুপ প্রয়োগ করতে পারেন।

২. MapUtils Class

MapUtils হল একটি ইউটিলিটি ক্লাস যা Map সম্পর্কিত বিভিন্ন সাধারণ কার্যাবলী সরবরাহ করে। এটি মূলত Map ডেটা স্ট্রাকচারের উপর কিছু সাধারণ কাজ সহজভাবে করার জন্য তৈরি হয়েছে। MapUtils মেথডগুলো null-safe এবং কার্যকরভাবে Map পরিচালনা করতে সাহায্য করে।

MapUtils এর প্রধান ফিচার:

  1. null-safe map operations: Map এর মধ্যে null চেকিং ছাড়া কাজ করার সুবিধা।
  2. Map modification: মান যোগ, মান পরিবর্তন, কপি করা ইত্যাদি কাজ।
  3. Get value with default: যদি মান পাওয়া না যায় তবে ডিফল্ট মান ফেরত দেয়।
  4. Map comparison: দুটি Map তুলনা করা।

উদাহরণ: MapUtils ব্যবহার করা

import org.apache.commons.collections4.MapUtils;
import java.util.HashMap;
import java.util.Map;

public class MapUtilsExample {
    public static void main(String[] args) {
        // Creating a Map using HashMap
        Map<String, String> map = new HashMap<>();
        map.put("apple", "fruit");
        map.put("carrot", "vegetable");

        // Using MapUtils to safely get a value with a default
        String value = MapUtils.getString(map, "banana", "unknown");
        System.out.println(value);  // Output: unknown

        // Using MapUtils to get a value with key existence check
        boolean containsKey = MapUtils.isEmpty(map);  // Checks if the map is empty
        System.out.println(containsKey);  // Output: false

        // Using MapUtils to safely put a value
        MapUtils.putIfAbsent(map, "banana", "fruit");
        System.out.println(map);  // Output: {apple=fruit, carrot=vegetable, banana=fruit}
    }
}

এখানে:

  • MapUtils.getString() মেথড ব্যবহার করা হয়েছে যাতে key না থাকলে একটি ডিফল্ট মান ফেরত দেয়।
  • MapUtils.isEmpty() মেথডের মাধ্যমে Map খালি কি না তা চেক করা হয়েছে।
  • MapUtils.putIfAbsent() মেথডটি নিরাপদভাবে একটি নতুন মান Map-এ যোগ করে যদি সেই কীগুলি আগে থেকে না থাকে।

আউটপুট:

unknown
false
{apple=fruit, carrot=vegetable, banana=fruit}

এটি দেখায় কিভাবে MapUtils ব্যবহার করে নিরাপদভাবে Map অপারেশন করা যায়, যা মান বের করার সময় null চেক করতে সাহায্য করে এবং সহজভাবে নতুন মান যোগ করতে সাহায্য করে।


৩. MapUtils এর অন্যান্য ফিচার

  1. putAll(): একাধিক মান একত্রে একটি Map এ যোগ করা।

    Map<String, String> newMap = new HashMap<>();
    MapUtils.putAll(newMap, new Object[][] {
        { "one", "1" },
        { "two", "2" }
    });
    
  2. getMap(): একটি Map এর থেকে মান বের করা।

    Map<String, String> map = MapUtils.getMap(new HashMap<>(), "key", "defaultValue");
    
  3. isEmpty(): চেক করে যে Map ফাঁকা কিনা।

    boolean isEmpty = MapUtils.isEmpty(map);
    
  4. isEqualMap(): দুটি Map এর সমান কিনা তা চেক করা।

    boolean areEqual = MapUtils.isEqualMap(map1, map2);
    
  5. getString(): একটি Map থেকে স্ট্রিং টাইপের মান পেতে, যদি মান না থাকে তবে একটি ডিফল্ট মান ফেরত দেয়।

    String value = MapUtils.getString(map, "key", "default");
    

সারাংশ

Apache Commons Collections লাইব্রেরির IterableMap এবং MapUtils ক্লাস Java Collections Framework এর সাথে অতিরিক্ত ফিচার এবং ইউটিলিটি সরবরাহ করে। IterableMap আপনাকে একটি Map এর উপাদানগুলোর উপর সহজে ইটারেট করার সুযোগ দেয় এবং MapUtils একটি ব্যবহারিক ক্লাস যা Map এর উপর কাজ করার জন্য বিভিন্ন সাধারণ এবং নিরাপদ ফিচার সরবরাহ করে। এটি null-safe অপারেশন, মান বের করা, মান যুক্ত করা এবং Map এর তুলনা করার সুবিধা প্রদান করে। Apache Commons Collections এর এই ফিচারগুলি ব্যবহার করে Map এর কার্যাবলী আরও সহজ, কার্যকরী এবং নিরাপদ করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion